﻿#define _CRT_SECURE_NO_WARNINGS 1
//计算斐波那契数
//递归和非递归分别实现求第n个斐波那契数

//例如：
//
//输入：5  输出：5
//
//输入：10， 输出：55
//
//输入：2， 输出：1
#include<stdio.h>
//递归
//int Fib(int m)
//{
//	if (m <= 2)
//	{
//		return 1;
//	}
//	else
//	{
//		return Fib(m - 1) + Fib(m - 2);
//	}
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = Fib(n);
//	printf("%d\n", ret);
//	return 0;
//}

//非递归
int Fib(m)
{
	int a = 1;
	int b = 1;
	int c = 1;
	while (m >= 3)
	{
		c = a + b;
		a = b;
		b = c;
		m--;
	}
	return b;
}
int main()
{
	int n = 0;
	scanf("%d", &n);
	int ret = Fib(n);
	printf("%d\n", ret);
	return 0;
	return 0;
}